package com.beyond.trace.dy.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 生产加工单对象 t_trace_dy_produce
 * 
 * @author Mr.Yao
 * @date 2022-04-09
 */
@TableName("t_trace_dy_produce")
public class TraceDyProduce extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 生产单号 */
    @TableId(value = "produce_id", type = IdType.ASSIGN_ID)
    @JsonSerialize(using= ToStringSerializer.class)
    private Long produceId;

    /** 成品名称 */
    @Excel(name = "成品名称")
    @ApiModelProperty(value = "成品名称")
    private String produceName;

    /** 生产时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "生产时间")
    private Date produceTime;

    /** 生产产品 */
    @Excel(name = "生产产品")
    @ApiModelProperty(value = "生产产品")
    private String produceProduct;

    /** 入库标志 */
    @Excel(name = "入库标志")
    @ApiModelProperty(value = "入库标志")
    private Long produceSh;

    /** 入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "入库时间")
    private Date produceStoreTime;

    /** 入库数量 */
    @Excel(name = "入库数量")
    @ApiModelProperty(value = "入库数量")
    private BigDecimal produceStoreCount;

    /** 是否删除，1，是 0，否 */
    @Excel(name = "是否删除，1，是 0，否")
    @ApiModelProperty(value = "是否删除，1，是 0，否")
    private Long deleteFlag;

    /** 删除人 */
    @Excel(name = "删除人")
    @ApiModelProperty(value = "删除人")
    private String deleteBy;

    /** 删除日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "删除日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "删除日期")
    private Date deleteTime;

    public void setProduceId(Long produceId) 
    {
        this.produceId = produceId;
    }

    public Long getProduceId() 
    {
        return produceId;
    }
    public void setProduceName(String produceName) 
    {
        this.produceName = produceName;
    }

    public String getProduceName() 
    {
        return produceName;
    }
    public void setProduceTime(Date produceTime) 
    {
        this.produceTime = produceTime;
    }

    public Date getProduceTime() 
    {
        return produceTime;
    }
    public void setProduceProduct(String produceProduct) 
    {
        this.produceProduct = produceProduct;
    }

    public String getProduceProduct() 
    {
        return produceProduct;
    }
    public void setProduceSh(Long produceSh) 
    {
        this.produceSh = produceSh;
    }

    public Long getProduceSh() 
    {
        return produceSh;
    }
    public void setProduceStoreTime(Date produceStoreTime) 
    {
        this.produceStoreTime = produceStoreTime;
    }

    public Date getProduceStoreTime() 
    {
        return produceStoreTime;
    }
    public void setDeleteFlag(Long deleteFlag) 
    {
        this.deleteFlag = deleteFlag;
    }
    public BigDecimal getProduceStoreCount() {
        return produceStoreCount;
    }

    public void setProduceStoreCount(BigDecimal produceStoreCount) {
        this.produceStoreCount = produceStoreCount;
    }
    public Long getDeleteFlag() 
    {
        return deleteFlag;
    }
    public void setDeleteBy(String deleteBy) 
    {
        this.deleteBy = deleteBy;
    }

    public String getDeleteBy() 
    {
        return deleteBy;
    }
    public void setDeleteTime(Date deleteTime) 
    {
        this.deleteTime = deleteTime;
    }

    public Date getDeleteTime() 
    {
        return deleteTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("produceId", getProduceId())
            .append("produceName", getProduceName())
            .append("produceTime", getProduceTime())
            .append("produceProduct", getProduceProduct())
            .append("produceSh", getProduceSh())
            .append("produceStoreTime", getProduceStoreTime())
            .append("produce_store_count",getProduceStoreCount())
            .append("deleteFlag", getDeleteFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("deleteBy", getDeleteBy())
            .append("deleteTime", getDeleteTime())
            .append("remark", getRemark())
            .toString();
    }
}
